package top.infopub.mgr.bpa.service;

import com.github.pagehelper.Page;
import top.infopub.dto.bpa.PrimarySureDto;
import top.infopub.generic.GenericService;
import top.infopub.mgr.bpa.domain.OtherSureDomain;
import top.infopub.mgr.bpa.vo.OtherSureVo;
import top.infopub.model.bpa.OtherSure;
import top.infopub.model.bpa.OtherSureAtt;
import top.infopub.model.bpa.OtherSureDetail;

import java.util.List;

public interface OtherSureService extends GenericService<OtherSure, String> {

    /**
     * 根据条件查询分页数据
     * @param page
     * @param otherSureVo
     * @return 
     * @see
     */
    Page<OtherSureDomain> selectPageByDomainWhere(Page<OtherSureDomain> page,
                                                  OtherSureVo otherSureVo);

    /**
     * 根据条件查询-我审批的分页数据
     * @param page
     * @param otherSureVo
     * @return 
     * @see
     */
    Page<OtherSureDomain> selectMyCheckByDomainWhere(Page<OtherSureDomain> page,
                                                     OtherSureVo otherSureVo);

    /**
     * 新增记录
     * @param otherSure
     * @param otherSureDetails
     * @param otherSureAtts 
     * @see
     */
    void save(OtherSureVo otherSure, List<OtherSureDetail> otherSureDetails,
              List<OtherSureAtt> otherSureAtts);

    /**
     * 根据id查询详情
     * @param id 主键id
     * @return 
     * @see
     */
    OtherSureVo queryById(String id);

    String insertById(PrimarySureDto primarySureDto, String creator);

    void updateByIdSelective(PrimarySureDto primarySureDto, String modifier);

}